package 类与对象.内部类.静态内部类;
/*
    静态内部类是定义在外部类的成员位置，并且由static修饰
    1.可以直接访问外部类的所有静态成员，包含私有的，但不能直接访问非静态成员
    2.可以添加任何访问修饰符（public protected 默认 private）因为它的地位就是一个成员
    3.作用域:同其他成员，为整个类
 */
public class Outer02 {
    public static void main(String[] args) {
        Outer03 outer03 = new Outer03();
        outer03.m1().test();
        //
        Outer03.inner inner = new Outer03.inner();
        inner.test();
    }
}

class Outer03{
    private int n1 = 10;
    public static int n2 = 20;

    public static void test1(){
        System.out.println("静态方法");
    }

    public static class inner{

        public void test(){
            System.out.println(n2);
            test1();
        }
    }

    public inner m1(){
        return new inner();
    }
}
